﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SNSpirit.Domain.Forum
{
    public interface IForumServiceConnector
    {
        /// <summary>
        /// Create an empty root region
        /// </summary>
        /// <param name="service"></param>
        /// <returns></returns>
        Region CreateRootRegion(ForumService service);

        /// <summary>
        /// Create an empty post
        /// </summary>
        /// <param name="service"></param>
        /// <returns></returns>
        Post CreateEmptyPost(ForumService service);

        Thread CreateEmptyThread(ForumService service);

        IEnumerable<Region> GetRegions(Region region);

        IEnumerable<Thread> GetThreads(Region region);

        void SendNewThread(Region region, Thread newThread);

        void SendNewPost(Thread thread, Post newPost);

        void Update(Region region);

        void Update(Thread thread);

        void Update(Post post);
    }
}